/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.Modelo;
import br.DAO.ClienteDAO;
import java.util.ArrayList;
/**
 *
 * @author ItaloLopes
 */
public class Cliente {
    private double CodigoCliente;
    private String Nome;
    private double CPF;
    private String Logradouro;
    private int Numero;
    private String Bairro;
    private Cidade cidade;

    public void Salvar()
    {
        ClienteDAO.Salvar(this);
    }
    
    public void Alterar()
    {
        ClienteDAO.Alterar(this);
    }
    
    public Cliente RecuperaObjeto(int pCodPesquisado)
    {
        Cliente tmpCliente = ClienteDAO.RecuperaObjetoId(Double.valueOf(pCodPesquisado));
        return tmpCliente;
    }
    
    public void Excluir()
    {
        ClienteDAO.Excluir(this);
    }
    
    public Cliente RecuperaObjetoNavegacao(int pOpcao, int pCodAtual)
    {
        int CodNav = ClienteDAO.PegaCodigoPelaNavegacao(pOpcao, pCodAtual);
        return RecuperaObjeto(CodNav);
    }
    
    public void setProximoCodigoInsercao(){
        int ProximoCodigo = ClienteDAO.PegaCodigoPelaNavegacao(3, 0);
        this.CodigoCliente = ProximoCodigo + 1.0;
    }
    
    public String getBairro() {
        return Bairro;
    }

    public void setBairro(String Bairro) {
        this.Bairro = Bairro;
    }

    public double getCPF() {
        return CPF;
    }

    public void setCPF(double CPF) {
        this.CPF = CPF;
    }

    public double getCodigoCliente() {
        return CodigoCliente;
    }

    public void setCodigoCliente(double CodigoCliente) {
        this.CodigoCliente = CodigoCliente;
    }

    public String getLogradouro() {
        return Logradouro;
    }

    public void setLogradouro(String Logradouro) {
        this.Logradouro = Logradouro;
    }

    public String getNome() {
        return Nome;
    }

    public void setNome(String Nome) {
        this.Nome = Nome;
    }

    public int getNumero() {
        return Numero;
    }

    public void setNumero(int Numero) {
        this.Numero = Numero;
    }

    public Cidade getCidade() {
        return cidade;
    }

    public void setCidade(Cidade cidade) {
        this.cidade = cidade;
    }
    
    public ArrayList<Cliente> RecuperaObjetos(String sCampo, String sValor, boolean bTodaParte){
        String NomeCampo = "";
        if(sCampo.equals("0"))
            NomeCampo = "NOME_CLI";
        else
            NomeCampo = "CPF_CLI";
        
        return ClienteDAO.PesquisaObjeto(NomeCampo, sValor, bTodaParte);
    }
}
